package com.kymatrix.mpo.plus.bpm.server.service;

import com.kymatrix.mpo.plus.bpm.server.model.dto.message.BpmMessageSendWhenProcessInstanceApproveReqDTO;
import com.kymatrix.mpo.plus.bpm.server.model.dto.message.BpmMessageSendWhenProcessInstanceRejectReqDTO;
import com.kymatrix.mpo.plus.bpm.server.model.dto.message.BpmMessageSendWhenTaskCreatedReqDTO;

import javax.validation.Valid;

/**
 * BPM 消息 Service 接口
 *
 */
public interface BpmMessageService {

    /**
     * 发送流程实例被通过的消息
     *
     * @param reqDTO 发送信息
     */
    void sendMessageWhenProcessInstanceApprove(@Valid BpmMessageSendWhenProcessInstanceApproveReqDTO reqDTO);

    /**
     * 发送流程实例被不通过的消息
     *
     * @param reqDTO 发送信息
     */
    void sendMessageWhenProcessInstanceReject(@Valid BpmMessageSendWhenProcessInstanceRejectReqDTO reqDTO);

    /**
     * 发送任务被分配的消息
     *
     * @param reqDTO 发送信息
     */
    void sendMessageWhenTaskAssigned(@Valid BpmMessageSendWhenTaskCreatedReqDTO reqDTO);

}
